#pragma once
#include "IEventHandler.h"


template <typename T>
class ReactorImplementation
{
public:
	virtual void register_handler(IEventHandler<T> *eventHandler, Event_Type eventType) = 0;
	virtual void register_handler(Handler<T> h, IEventHandler<T> *eventHandler, Event_Type eventType) = 0;

	virtual void remove_handler(IEventHandler<T> *eventHandler,Event_Type eventType) = 0;
	virtual void remove_handler(Handler<T> handler, Event_Type eventType) = 0;

	virtual bool handle_events(timeval *timeout = 0) = 0;

private:
};

